import axios from 'axios'
import store from '@/store'
import JSONBig from 'json-bigint'

const request = axios.create({
    baseURL: 'http://toutiao.itheima.net/',

    // 自定义后端返回的原始数据(axios默认会JSON.parse)
    transformResponse: [function (data) {
        try {
            return JSONBig.parse(data) // 最好与JSONBig.stringify()搭配使用
        } catch (err) {
            return data
        }
    }]
})

// 请求拦截器
request.interceptors.request.use(config => {
    // console.log('本次请求的请求头配置对象', config)

    const { user } = store.state
    if (user && user.token) {
        config.headers.Authorization = `Bearer ${user.token}`
    }

    // 这里必须返回config，否则请求会停在这发不出去
    return config // return Promise.resove(config)
}, err => {
    // 请求出错会进入这里(此时还未发出去)
    return Promise.reject(err)
})
// 响应拦截器

export default request
